As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option is an information handling system. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes. Because technology and information handling needs and requirements can vary between different applications, information handling systems can also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information can be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems can include a variety of hardware and software components that can be configured to process, store, and communicate information and can include one or more computer systems, data storage systems, and networking systems.
An information handling system, such as a storage array, can provide at least two controllers for performing input/output (I/O) operations. One controller can be an active controller that services I/O request from clients, and another controller can be a standby controller that does not actively service any I/O requests. While the active controller is actively performing I/O operations, the standby controller can continually synchronize all of the state information that resides in a memory of the active controller, such as a status of the I/O requests and data contained in a write cache of the active controller, with a memory in the standby controller. In the event of a failure of the active controller, the standby controller can take over the I/O operations and can utilize the synchronized state information to perform the I/O operations. If the storage array increases in size, such that a new active controller is added, a new standby controller can be added for the new active controller to provide failover if that active controller fails.
The use of the same reference symbols in different drawings indicates similar or identical items.